package vip.xiaonuo.biz.modular.timetable.domain;

/**
 * A simple lesson abstraction -- basically a container for lesson, group, module, professor, timeslot, and room IDs
 */
public class Lesson {
    private final String lessonId;
    private final String lectureId;
    private final String moduleId;
    private String professorId;
    private String timeslotId;
    private String roomId;
    private String klassIds[];
    /**
     * Initialize new lesson
     * 
     * @param lessonId
     * @param lectureId
     * @param moduleId
     * @param klassIds
     */
    public Lesson(String lessonId, String lectureId, String moduleId, String[] klassIds){
        this.lessonId = lessonId;
        this.moduleId = moduleId;
        this.lectureId = lectureId;
        this.klassIds = klassIds;
    }

    public Lesson(String lessonId, String lectureId, String moduleId, String professorId, String timeslotId, String roomId, String[] klassIds) {
        this.lessonId = lessonId;
        this.lectureId = lectureId;
        this.moduleId = moduleId;
        this.professorId = professorId;
        this.timeslotId = timeslotId;
        this.roomId = roomId;
        this.klassIds = klassIds;
    }

    /**
     * Add professor to lesson
     * 
     * @param professorId
     */
    public void addProfessor(String professorId){
        this.professorId = professorId;
    }
    
    /**
     * Add timeslot to lesson
     * 
     * @param timeslotId
     */
    public void addTimeslot(String timeslotId){
        this.timeslotId = timeslotId;
    }    
    
    /**
     * Add room to lesson
     * 
     * @param roomId
     */
    public void setRoomId(String roomId){
        this.roomId = roomId;
    }
    
    /**
     * Get lessonId
     *
     * @return lessonId
     */
    public String getLessonId(){
        return this.lessonId;
    }
    
    /**
     * Get groupId
     *
     * @return groupId
     */
    public String getLectureId(){
        return this.lectureId;
    }
    
    /**
     * Get moduleId
     *
     * @return moduleId
     */
    public String getModuleId(){
        return this.moduleId;
    }
    
    /**
     * Get professorId
     *
     * @return professorId
     */
    public String getProfessorId(){
        return this.professorId;
    }
    
    /**
     * Get timeslotId
     *
     * @return timeslotId
     */
    public String getTimeslotId(){
        return this.timeslotId;
    }
    
    /**
     * Get roomId
     *
     * @return roomId
     */
    public String getRoomId(){
        return this.roomId;
    }

    public void setKlassIds(String[] klassIds) {
        this.klassIds = klassIds;
    }

    public String[] getKlassIds() {
        return klassIds;
    }
}

